﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media.Imaging;
using System.Windows;
using System.Windows.Media;

namespace ModeloGaleriaNET
{
    public class DataGridPuja
    {
        public enum TIPO_MENSAJE { INFO, ERROR };
        private BitmapSource imagen;
        private BitmapSource imagenIsPropia;
        private int id;
        private string idCore;
        private DateTime fecha;
        private double cantidad;
        private string propietario;

        public DataGridPuja()
        {
            imagen = null;
            imagenIsPropia = null;
            id = -1;
            fecha = DateTime.Now; ;
            cantidad = -1.0;
            idCore = string.Empty;
            propietario = string.Empty;
        }

        public DataGridPuja(int id, string idcore, string prop, DateTime fecha, double cantidad, TIPO_MENSAJE t, bool isPropia)
        {
            IntPtr b = new IntPtr();

            this.id = id;
            this.fecha = fecha;
            this.cantidad = cantidad;
            this.idCore = idcore;
            this.propietario = prop;

            switch (t)
            {
                case TIPO_MENSAJE.INFO:
                    b = Properties.Resources.Tick_16.GetHbitmap();
                    break;
                case TIPO_MENSAJE.ERROR:
                    b = Properties.Resources.Cross_16.GetHbitmap();
                    break;
            }
            imagen = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(b, IntPtr.Zero, Int32Rect.Empty,
                        System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
            imagen.Freeze();

            if (isPropia)
            {
                b = Properties.Resources.person_24.GetHbitmap();
                imagenIsPropia = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(b, IntPtr.Zero, Int32Rect.Empty,
                    System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
                imagenIsPropia.Freeze();
            }
            else
                imagenIsPropia = null;
        }

        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        public string IdCore
        {
            get { return idCore; }
            set { idCore = value; }
        }

        public string Cantidad
        {
            get { return cantidad.ToString() + " €"; }
            set { cantidad = Convert.ToDouble(value); }
        }

        public string FechaPuja
        {
            get { return String.Format("{0:dd MMMM yyyy, HH:mm:ss}", fecha); }
        }

        public DateTime FechaAsDate
        {
            get { return fecha; }
        }

        public ImageSource ImageSource
        {
            get { return imagen;}
        }

        public ImageSource ImagePropiaSource
        {
            get { return imagenIsPropia; }
        }

        public string Propietario
        {
            get { return propietario; }
            set { propietario = value; }
        }
    }
}
